package com.example.tree.service;

import com.example.common.domain.PageResult;
import com.example.common.domain.Result;
import com.example.tree.domain.dto.TreeDTO;
import com.example.tree.domain.dto.TreePageDTO;
import com.example.tree.domain.vo.MarkersVO;
import com.example.tree.domain.vo.TreeDetailVO;
import com.example.tree.domain.vo.TreeListVO;
import com.example.tree.domain.vo.TreeStatisticsVO;
import com.google.zxing.WriterException;

import java.io.IOException;
import java.util.List;

public interface TreeService {
    /**
     * 添加古树信息
     * @param treeDTO
     */
    void addTreeInfo(TreeDTO treeDTO) throws IOException, WriterException;

    /**
     * 获取标记信息
     * @param level 省、市、区
     * @param code 省、市、区编号
     * @return
     */
   List<MarkersVO> getTreeMarkers(String level,String code);

   /**
     * 获取古树详情信息
     * @param treeId
     * @return
     */
    TreeDetailVO getDetailTreeInfo(Integer treeId);

    /**
     * 获取古树统计信息
     * @param level 省、市、区
     * @param code 省、市、区编号
     * @return
     */
    TreeStatisticsVO getTreeStatistics(String level, String code);

    /**
     * 获取古树列表信息
     * @param treePageDTO
     * @return
     */
    PageResult<TreeListVO> getTreeInfo(TreePageDTO treePageDTO);

    /**
     * 删除古树信息
     * @param ids
     */
    void delete(Integer[] ids);
}
